Zoom control of digital images on a display screen

ABSTRACT

A computer program product and apparatus suitable may perform operations including receiving a first digital image, and identifying a pixel resolution of a display, the pixel resolution of the display being less than a pixel resolution of the first digital image. The operations may further include providing first data to the display to cause display of the first digital image at an image resolution adapted to the identified pixel resolution, wherein a section of the first digital image displayed on the display includes a first area of the display. The operations may further include receiving a user-initiated instruction to zoom in on the section of the first digital image, and providing, in response to receiving the user-initiated instruction, second data to the display to cause display of the section of the first digital image over a second area of the display that is greater than the first area.

BACKGROUND

The present disclosure relates to the control over digital images, suchas streaming digital video images.

BACKGROUND OF THE RELATED ART

Many computing devices support the use of a pointing device to interactwith a graphical user interface. For example, a simple computer mousemay support pointing and clicking, which may be combined into a draggesture that is useful for moving a graphical element or a portion of agraphical element from one point on a screen to another. A more advancedcomputer mouse may include a scroll wheel to facilitate control over adirection and amount of scrolling an image.

Touchpads and touchscreens may enable multi-touch gestures that provideadditional ways to interact with a graphical user interface. In general,touchpads and touchscreens both have a touch-sensitive matrix thatenables similar types of gestures, but a touchscreen integrates thetouch-sensitive matrix into the display screen. Common gestures on atouch-sensitive matrix may include both one finger gestures, such as atap, press, swipe, pan, and flick, as well as multiple finger gestures,such as a tap, press, swipe, zoom, pinch and rotate. Of course, a devicemust have both the touch-sensitive hardware and associated software inorder to make these useful gestures available to the user and manyconsumer electronics devices do not have a touch-sensitive matrix. Whilea touchscreen is now a standard feature of a smartphone, tablet computerand some notebook computers, many computer monitors, televisions andother categories of devices and display screens do not include atouchpad or touchscreen.

BRIEF SUMMARY

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations may comprise receiving a firstdigital image, and identifying a pixel resolution of a display screen,the pixel resolution of the display screen being less than a pixelresolution of the first digital image. The operations may furthercomprise providing first data to the display screen to cause display ofthe first digital image at an image resolution adapted to the identifiedpixel resolution of the display screen, wherein a section of the firstdigital image displayed on the display screen at the image resolutionadapted to the identified pixel resolution of the display screencomprises a first area of the display screen. The operation may stillfurther comprise receiving a user-initiated instruction to zoom in onthe section of the first digital image, and providing, in response toreceiving the user-initiated instruction to zoom in on the section ofthe first digital image, second data to the display screen to causedisplay of the section of the first digital image over a second area ofthe display screen that is greater than the first area of the displayscreen.

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations may comprise identifying the pixelresolution of a display screen, and providing first data to the displayscreen to cause display of a first digital image at an image resolutionadapted to the identified pixel resolution. The operations may furthercomprise receiving a user-initiated instruction to zoom in on a sectionof the first digital image, and providing, in response to receiving theuser-initiated instruction to zoom in on the section of the firstdigital image, second data to the display screen to cause display of thesection of the first digital image over an area of the display screenthat is greater than an area of the display screen that displays thesection of the digital image produced using the first data, wherein thesecond data causes display of the section of the first digital image atthe image resolution adapted to the identified pixel resolution.

Some embodiments provide an apparatus comprising at least onenon-volatile storage device storing program instructions and at leastone processor configured to process the program instructions, whereinthe program instructions are configured to, when processed by the atleast one processor, cause the apparatus to perform various operations.The operations may comprise receiving a first digital image, andidentifying a pixel resolution of a display screen, the pixel resolutionof the display screen being less than a pixel resolution of the firstdigital image. The operations may further comprise providing first datato the display screen to cause display of the first digital image at animage resolution adapted to the identified pixel resolution of thedisplay screen, wherein a section of the first digital image displayedon the display screen at the image resolution adapted to the identifiedpixel resolution of the display screen comprises a first area of thedisplay screen. The operation may still further comprise receiving auser-initiated instruction to zoom in on the section of the firstdigital image, and providing, in response to receiving theuser-initiated instruction to zoom in on the section of the firstdigital image, second data to the display screen to cause display of thesection of the first digital image over a second area of the displayscreen that is greater than the first area of the display screen.

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations may comprise identifying the pixelresolution of a display screen, and providing first data to the displayscreen to cause display of a first digital image at an image resolutionadapted to the identified pixel resolution. The operations may furthercomprise receiving a user-initiated request to download the digitalimage being displayed on the display screen, and initiating, in responseto receiving the user-initiated instruction to download the firstdigital image displayed on the display screen, transmission of seconddata for the first digital image to a designated device and/or adesignated folder, wherein the second data has an image resolution thatis greater than the first data.

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor of a mobile computing device to causethe processor to perform various operations. The operations may compriseestablishing a wireless connection with a digital media controller thatis providing a digital image to a display screen, receiving input from atouch-screen of the mobile device to control a pan function and/or azoom function, and wirelessly transmitting the input received from thetouch-screen of the mobile device to the digital media controller tocontrol display of the digital image on the display screen.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a diagram of a system including a smart device incommunication with a content server.

FIG. 2 is a diagram of a system including a smart device that provides azoom instruction to a smart television in communication with a contentserver.

FIG. 3 is a diagram of a smart device.

FIG. 4 is a diagram of a smart device, such as a tablet computer havinga touch-screen.

FIG. 5 is a diagram of a smart device in communication with a smarttelevision.

FIG. 6 is a diagram of a display screen illustrating how a pan functionmay be used to select a section of the digital image.

FIG. 7 is a diagram of the display screen illustrating how a zoonfunction may expand a selected section of the digital image to cover agreater portion of the display screen area.

FIG. 8 is a flowchart of a method of zooming in on a section of adigital image.

FIG. 9 is a flowchart of a method of downloading a digital image tofacilitate a zoom function.

DETAILED DESCRIPTION

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations may comprise receiving a firstdigital image, and identifying a pixel resolution of a display screen,the pixel resolution of the display screen being less than a pixelresolution of the first digital image. The operations may furthercomprise providing first data to the display screen to cause display ofthe first digital image at an image resolution adapted to the identifiedpixel resolution of the display screen, wherein a section of the firstdigital image displayed on the display screen at the image resolutionadapted to the identified pixel resolution of the display screencomprises a first area of the display screen. The operation may stillfurther comprise receiving a user-initiated instruction to zoom in onthe section of the first digital image, and providing, in response toreceiving the user-initiated instruction to zoom in on the section ofthe first digital image, second data to the display screen to causedisplay of the section of the first digital image over a second area ofthe display screen that is greater than the first area of the displayscreen.

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations may comprise identifying the pixelresolution of a display screen, and providing first data to the displayscreen to cause display of a first digital image at an image resolutionadapted to the identified pixel resolution. The operations may furthercomprise receiving a user-initiated instruction to zoom in on a sectionof the first digital image, and providing, in response to receiving theuser-initiated instruction to zoom in on the section of the firstdigital image, second data to the display screen to cause display of thesection of the first digital image over an area of the display screenthat is greater than an area of the display screen that displays thesection of the digital image produced using the first data, wherein thesecond data causes display of the section of the first digital image atthe image resolution adapted to the identified pixel resolution.

The data capable of produce a digital image may be received in anyformat, including raster formats, vector formats and compound formats,and may or may not be compressed. Furthermore, the digital image may bea still image or video, where digital video data may or may not be in acontainer along with digital audio data.

Image resolution refers to an amount of detail that an image contains.Advances in camera and display technology have enabled the capture anddisplay of digital images having a high resolution. An image resolutionmay be described by a number of pixels, such as a total number of pixels(i.e., a 24.3 megapixel camera) or a reference to the number of pixelscolumns (width) and the number of pixel rows (height) (i.e., a 3840×2160display screen). However, some industry standards refer specifically tothe horizontal pixel count of an images, such as a “4K” resolutionhaving approximately 4,000 pixels (columns) from right to left. Still,the aspect ratio of the display may vary. Embodiments described hereinare not limited to any particular manner of expressing an actual ornominal image resolution.

While high definition display screens have been widely adopted, thereare still many lower resolution display screens in use. Similarly, highdefinition image content is in demand, but not all content is availablein an image resolution that matches the pixel resolution of everydisplay screen on which the content may be displayed. Of course, thecontent that is available with a particular image resolution may changeover time, while the maximum pixel resolution of a given display screenis fixed. So, there is often a mismatch between the potential digitalimage resolution of certain digital image content and the maximum pixelresolution of a particular display screen.

The second data or display instructions may produce the section of thedigital image over an area of the display screen that is greater than anarea of the display screen that displays the section of the digitalimage produced using the first data. Accordingly, the field of view maybe reduced. In a preferred option, some portion of the digital imagewill be displayed over the entire display screen, so that no portion ofthe display screen goes unutilized. For example, the second data mayproduce the section of the digital image over the entire area of thedisplay screen, either in a gradual transition or stepwise transitionfrom the display of the digital image according to the first data.

In some embodiments, the operations may further comprise requesting toreceive the first data from a content source, wherein the requestincludes the identified pixel resolution. This first data is then usedin normal display of the digital image(s) on the display screen. Forexample, the first data may be requested to be received from the contentsource in response to a user-initiated instruction to view or play thefirst digital image in the absence of a user-initiated instruction tozoom in on a section of the first digital image. Still further, theoperation may comprise requesting, in response to receiving theuser-initiated instruction to zoom in on the section of the firstdigital image, to receive the second data from the content source,wherein the second data has a greater image resolution than the firstdata. In other words, the higher resolution second data may be requestedwhen the user desired to zoom in on the digital image. Theuser-initiated instruction to zoom in on a section of the first digitalimage may also include an amount of magnification to be applied to thefirst digital image, wherein applying the amount of magnification to thefirst digital image using the first data would result in an imageresolution that is less than the identified pixel resolution.

Some embodiments may include receiving the second data from a contentsource, and downscaling the second data to locally generate the firstdata for providing the first data to the display screen, wherein thesecond data has a greater image resolution than the first data.Furthermore, the second data may be stored on a local data storagedevice and may be retrieved, in response to receiving the user-initiatedinstruction to zoom in on the section of the first digital image, fromthe local data storage device to generate the first data. Someembodiments may store the source data for some period of time or untilsome amount of data storage is full. In particular, the source data maybe temporarily stored even after the corresponding digital image hasbeen displayed. As a result of storing the source data after display,embodiments may return to the stored data for the purpose of using orgenerating the second data that are needed to produce a selected sectionof the digital image over an enlarged area of the display screen. Theuse of the stored second data, which has an image resolution that isgreater than the fixed pixel resolution of the connected display,enables the enlarged digital image to be produced and displayed on thedisplay screen at an image resolution adapted to the pixel resolution.In some instances, the enlarged section of the digital image may havethe same image resolution as the entire digital image as a result ofusing the higher resolution data.

Some embodiments may receive one or more user-initiated instructionregarding the control or manipulation of a digital image. While somedescriptions herein may refer specifically to a zoom function orinstructions, it should be understood that other user-initiatedinstructions may be received in a similar manner. For example,user-initiated instructions may include zoom, pan, pause, play, scrolland other touch gestures.

In some embodiments, the user-initiated instruction to zoom in on thedigital image may be received from a touch-matrix. In one option, thetouch-matrix may be a component, either a touchpad or a touchscreen, ofa remote control or other mobile computing device that transmits awireless signal communicating the user-initiated instruction. In anotheroption, the display screen may be a touch-screen and the user-initiatedinstruction to zoom in on the digital image may be received from thetouch-screen. Optionally, the user-initiated instruction to zoom in onthe digital image may include, or be accompanied by, an amount ofmagnification to be applied to the digital image. For example, a zoomgesture on a touch-matrix may control an amount of magnification basedupon an amount of separation caused between two initial touchpoints.

In some embodiments, the user-initiated instruction to zoom in on thedigital image is received in a wireless signal from a remote control orother mobile computing device, such as a smartphone, table computer, orlaptop computer. The wireless signal may be an infrared signal, localarea network signal, and/or a personal area network signal. Withoutlimitation, the local area network signal may be a WI-FI signal (WI-FIis a trademark of the Wi-Fi Alliance) signal and the person area networksignal may be a BLUETOOTH signal (BLUETOOTH is a trademark of theBluetooth Special Interest Group) or other local radio frequencywireless signal.

In some embodiments, the operations may further include receiving auser-initiated instruction to pan across the digital image beingdisplayed on the display screen. In one example, the user-initiatedinstruction to pan across the digital image is received in response to aswipe movement on a touch-matrix. The swipe movement (a pan gesture) mayinclude any one or more movement of a touchpoint across thetouch-matrix. While a zoom gesture and its corresponding zoominstruction causes a section of the digital image to be enlarged, a pangesture and its corresponding pan instruction may be used to select adifferent section of the digital image. Optionally, the pan instructionsmay be provided before, during or after the zoom instruction.

In embodiments where the digital image is one or more frame of a video,the operations may further include receiving a user-initiatedinstruction to pause or play the video. For example, a user-initiatedinstruction to pause or play the video may be received in response to atap on a touch-matrix. User gestures for control over a video playbackmay further include a skip backward gesture and/or a skip forwardgesture.

In some embodiments, the source image resolution may have a horizontaldisplay resolution of 4,000 pixels or greater. It is believed that 4Kand higher video resolutions allow for more picture detail than thehuman eye can resolve in many viewing scenarios. However, embodimentsdescribed may utilize 4K and higher resolutions in a manner tofacilitate zooming in on a digital image without loss of the pixelresolution on a display screen.

Some embodiments provide an apparatus comprising at least onenon-volatile storage device storing program instructions and at leastone processor configured to process the program instructions, whereinthe program instructions are configured to, when processed by the atleast one processor, cause the apparatus to perform various operations.The operations may comprise receiving a first digital image, andidentifying a pixel resolution of a display screen, the pixel resolutionof the display screen being less than a pixel resolution of the firstdigital image. The operations may further comprise providing first datato the display screen to cause display of the first digital image at animage resolution adapted to the identified pixel resolution of thedisplay screen, wherein a section of the first digital image displayedon the display screen at the image resolution adapted to the identifiedpixel resolution of the display screen comprises a first area of thedisplay screen. The operation may still further comprise receiving auser-initiated instruction to zoom in on the section of the firstdigital image, and providing, in response to receiving theuser-initiated instruction to zoom in on the section of the firstdigital image, second data to the display screen to cause display of thesection of the first digital image over a second area of the displayscreen that is greater than the first area of the display screen.

Some embodiments of the apparatus may further process the programinstructions to implement or initiate any one or more operations of thecomputer program products described herein. Non-limiting examples of theapparatus may take the form of a smart television, set-top box, tabletcomputer, mobile computing device and notebook computer.

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor of a mobile computing device to causethe processor to perform various operations. The operations may compriseestablishing a wireless connection with a digital media controller thatis providing a digital image to a display screen, receiving input from atouch-screen of the mobile device to control a pan function and/or azoom function, and wirelessly transmitting the input received from thetouch-screen of the mobile device to the digital media controller tocontrol display of the digital image on the display screen. The mobilecomputing device may take the form of a smartphone, tablet computer,notebook computer, or remote control. On any form of a smart device, theforegoing computer program product may be an app that is downloaded andrun on the smart device. The mobile computing device may receive furthertypes of input from a touchscreen and wirelessly transmit that input tothe digital media controller to control display of the digital image,such as pause, play, rotate, screen capture, and the like. Thetouchscreen of the mobile computing device may be leveraged to controlhow a digital image is displayed on a display device that may notinclude a touchscreen, touchpad, or other touch matrix. For thispurpose, the mobile computing device may provide image controlinstructions to a smart television, cable box, set-top box, streamingbox, or other media controller.

Some embodiments provide a computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performvarious operations. The operations may comprise identifying the pixelresolution of a display screen, and providing first data to the displayscreen to cause display of a first digital image at an image resolutionadapted to the identified pixel resolution. The operations may furthercomprise receiving a user-initiated request to download the digitalimage being displayed on the display screen, and initiating, in responseto receiving the user-initiated instruction to download the firstdigital image displayed on the display screen, transmission of seconddata for the first digital image to a designated device and/or adesignated folder, wherein the second data has an image resolution thatis greater than the first data.

Some embodiments may provide an apparatus that may further process theprogram instructions to implement or initiate any one or more operationsof the computer program products described herein. The operation ofinitiating transmission may include either actually transmitting therequested source data or requesting that the content server transmit therequested source data.

In some embodiments, the operations may further comprise submittinguser-account credentials to a content server and obtaining access to thesource data in response to submitting valid account credentials. Theaddress of the designated device and/or the designated folder may bestored in association with the account credentials. Optionally, theoperation of initiating transmission of the source data for the digitalimage being displayed to a designated device and/or a designated folder,may include submitting a request to the content server that the sourcedata for the digital image be sent from the content server to thedesignated device and/or a designated folder. The content server maythen transmit the requested source data for the digital image to thesmart device that initiated the transmission (such as a smart televisionor set-top box), the smart device that sent the user-initiated requestto download the digital image (such as a smartphone or table computer),and/or a further smart device or computer that the user has designatedfor receiving the requested source data.

Embodiments that download requested source data to a designated devicemay then use its own installed or web-based image editing software toedit a still picture or a video clip on the designated device, ratherthan merely controlling the display of the digital image on the displaydevice. Accordingly, the still picture or video clip may then be panned,zoomed, or otherwise edited or enhanced as described above using thelocal screen of the designated device. Furthermore, the downloadedsource data may be viewed and edited at a later time and the displayscreen that was being used to display the digital image may continue todisplay additional images.

In some embodiments, the user-initiated request to download the digitalimage may originate from a remote control or a smart device, such as asmartphone, table computer or notebook computer. A remote control maysimply include a dedicated “screen capture” button that submits arequest that the digital image from the display or source device be sentto a device and/or folder that has been predesignated in associationwith the user's account with the content source. A smart device may runan app that enables the initiation of the request to download thedigital image to the smart device or other designated device and/orfolder.

In some embodiments, a user-initiated request to download a digitalimage that is currently being displayed by a smart device may beforwarded from the smart device to a content server for handling. Thecontent server may then verify that the request is associated with avalid user-account and/or verify that the content server has permissionto share the requested digital image with the requesting device. Forexample, permission to share a digital image may be limited by thecopyright owner. If these conditions are satisfied, then the contentserver may either transmit the requested content directly to adesignated device (i.e., a device and/or folder designated inassociation with the user-account from which the request is made) orauthorize the smart device that is currently displaying the digitalimage to share the requested digital image with the designated device.Optionally, a digital image may be downloaded either by the contentserver transmitting the digital image to a designated device, allowingaccess to the digital image stored on the smart device that isdisplaying the digital image, or providing the user-account with a linkto the digital image in cloud storage. Depending upon the extent of thepermissions, a user may subsequently view the digital image, edit thedigital image, share the digital image, or post the digital image onsocial media.

FIG. 1 is a diagram of a system 10 including a smart device 30 incommunication with a content server 20. The content server 20 storessource data 22 and run media server logic 24. The media server logic 24may interact with smart device 30 over a network 12 to receive requestsfor content and provide source data that has been requested. Optionally,the media server logic 24 may authenticate the smart device 30 as acondition of providing requested content. The source data 22 may includedigital video data or files 26 and/or digital still image data or files28.

The smart device 30 may have any of a variety of form factors, such as asmartphone, tablet computer, notebook computer, or smart television. Asshown, the smart device 30 includes a central processor unit (CPU) 31that is in communication with an input/output interface (I/O) 32, memory33, and a touchscreen 36. The memory 33 includes a media playerapplication 34 and source data 35, such as the second data, that hasbeen downloaded or buffered from the content server 20. The touchscreen36 includes both a display screen 37 for displaying digital images andan integral touch matrix 38 for receiving touch gesture input.

FIG. 2 is a diagram of a system 40 including a smart device 60 thatprovides a zoom instruction to a smart television 50 in communicationwith a content server 20. The content server 20 and network 12 are thesame as those shown in FIG. 1.

The smart television 50, or set-top box and television combination,includes a central processor unit (CPU) 51 that is in communication withan input/output interface (I/O) 52, memory 53, and a display screen 56.The input/output interface 52 may be used to communicate with thecontent server 20, such as to request certain content and to receivedata containing the requested content, such as the first data and/orsecond data. The memory 53 includes a media player application 54 andsource data 55 that has been downloaded or buffered from the contentserver 20. The display screen 56 displays digital images using displaydata, such as the first data, received from the CPU 51, but the displayscreen does not include any feature for directly receiving touch gestureinput. The smart television 50 further includes an additionalinput/output interface 57 for wireless communication with the smartdevice 60.

The smart device 60, such as a smartphone, tablet computer or remotecontrol, includes a central processor unit (CPU) 61 that is incommunication with a wireless input/output interface (I/O) 62, memory63, and a touch-matrix 66, which may be either a touchpad or atouchscreen. For example, a touchpad might be less expensive and morelikely to be implemented in a remote control, whereas a touchscreenmight provide a wider range of capabilities and be more likely to beimplemented in a tablet computer. The memory 63 may include a mediacontrol app 64 that enables touch gestures received via the touch matrix66 to be transmitted over the wireless I/O 62 to the smart television 50for control of a digital image displayed on the display screen. In someembodiments, the media control app 64 may be used to submit a request todownload the digital image to the smart device 60 or a cloud storagelocation accessible to the smart device 60. Some embodiments provide theadvantage of allowing the control of digital images displayed by thesmart television 50 using touch gestures input to a touch matrix of thesmart device 60, especially where the smart television does not have itsown touch matrix.

FIG. 3 is a diagram of the smart device 30 of FIG. 1, which may also begenerally representative of the smart television 50 and/or smart device60 of FIG. 2. The smart device 30 may include a processor 70, memory 71,a battery (or other power source) 72, a universal serial bus (USB) port73, a camera 74, and an audio codec 75 coupled to a built-in speaker 76,a microphone 77, and an earphone jack 78. The smart device 30 mayfurther include a touchscreen controller 80 which provides a graphicaloutput to the display device 81 and an input from a touch input device82. Collectively, the display device 81 and touch input device 82 may bereferred to as a touchscreen.

The smart device 30 may also include a short-range wireless transceiver84 (such as a Bluetooth transceiver), a wireless local area networktransceiver (such as a “Wi-Fi transceiver”) 83, a mobile communicationtransceiver 85 for communication with a cellular communication network,and a global positioning system (GPS) transceiver 87. Accordingly, theshort-range wireless transceiver 84 enables the formation of ashort-range wireless connection with other devices having a similarshort-range wireless transceiver.

The memory 71 may store one or more applications 89 including programinstructions that are executable by the processor 70. Such applicationsmay include a media player (see media player 34 in FIG. 1) and/or amedia control app (see media control app 64 in FIG. 2). The memory 71may also store digital image data 88 according to one or moreembodiments.

FIG. 4 is a diagram of a smart device 30 in the form of a tabletcomputer having a touch-screen 36 for displaying a digital image andreceiving a touch gesture from a user. For example, the smart device 30is consistent with FIG. 1. As illustrated, if there is a particularsection 90 of a displayed digital image that the user wants to “zoom in”in order to narrow the field of view and see greater detail, the usermay perform a zoom gesture directly on the touchscreen 36 where thedigital image is being displayed. A common form of zoom gesture may beperformed by the user placing one finger on the screen at a first point(see circle 92), placing a second finger on the screen at a second point(see circle 94), and then moving the two fingers apart (see arrows 93,95) while maintaining contact with the touchscreen 36. This will causethe digital image to enlarge to an extent that is proportional to theamount of the separating movement of the two fingers. Using this zoomgesture, the user may cause the particular section 90 to be enlarged toany desired extent, such as filling the entire area of the touchscreen.Other types and combinations of touch gestures may also be input in asimilar manner. In particular, a pan gesture may be used to scrollacross the digital image so that a desired section of the digital imagewill be displayed on the display screen even after the zoom.

FIG. 5 is a diagram of a smart device 60 in communication with a smarttelevision 50 consistent with FIG. 2. The smart television 50 receivesdigital images, such as digital video, from a content source for displayon the display screen 56. The smart television 50 does not include atouch matrix. However, even if the smart television did include its owntouch matrix, a user may prefer the convenience of using the smartdevice 60 to perform touch gestures that will cause control instructionsto be wirelessly transmitted to the smart television for use incontrolling how the digital images are displayed on the display screen56. For example, the user may use the smart device 60 while sitting on acouch across the room from the smart television 50.

In one option, the smart device 60 runs a media control app thatcaptures user gestures from the touchscreen 66 and transmitscorresponding control signals to the smart television 50. Optionally,the display screen 66 may display icons, instructions or other visualaids to illustrate or explain gestures that the user may perform. Inthis illustration, the display screen 66 displays a first icon 68illustrating a pan gesture and a second icon 69 illustrating a pausefunction that can be activated to pause a video image by perform a tapgesture over the second icon 69.

By way of example, assume that a basketball game (video content) isbeing displayed on the smart television 50 and assume that the userwants to determine the brand of shoe that one of the players is wearing.The user could perform a tap gesture on the pause icon 69 while theplayer's shoes are visible in the currently displayed digital image. Theapp would then communicate the pause control instruction to the smarttelevision so that the video is paused. Next, the user could perform apan gesture and/or a zoom gesture to enlarge the section of the pauseddigital image that contains the shoes and to make sure that this sectionof the enlarged digital image is displayed on the display screen. Afterthe shoe brand is determined, the user may perform a zoom out gestureand/or a further tap gesture over a play icon. This same process mayoccur with a remote control or notebook computer having a touchpad orother form a touch matrix.

In some embodiments, the smart device 60 may be used to request downloadof a digital image at any point in the forgoing process. Optionally, thepaused video image may be downloaded so that any subsequent pan, zoom orother gestures may be performed on the paused digital image directly onthe display screen 66. Still further, the smart device 60 may be used torequest a download or access link be provided to a separately designateddevice, folder or location.

It should be recognized that if the second data is capable of producinga digital image having a source image resolution, say a 4K imageresolution, that is greater than a fixed pixel resolution, say a 1080ppixel resolution, of a display screen, then it is possible to performapproximately 4× zoom before an enlarged section of the digital imagewould lose any resolution. Embodiments make it possible to avoid loss ofimage resolution during a zoom function because the second data that isused to prepare first data for producing the digital image on thedisplay screen is also used, in response a user-initiated instruction tozoom in on the digital image being displayed on the display screen, todisplay an enlarged section of the digital image on the display screen.

FIG. 6 is a diagram of a display screen 56 illustrating how a panfunction may be used to select a section of the digital image. Varioussections of the digital image are illustrated as rectangular areas(outlined in dashed lines) and arrows are used to illustrate pangestures that might be used to move from one section to another section,preferably in connection with a zoom gesture. In some instances, a zoomgesture may be used followed by the pan function.

FIG. 7 is a diagram of the display screen 56 illustrating how a zoomgesture may cause expansion a selected section (outlined in dashedlines) of the digital image to cover a greater portion of the displayscreen area. For example, using the zoom gesture described in referenceto FIG. 4, a user may control the amount of zoom (enlargement ormagnification) of the selected section from its original area 96 to theentire area of the display screen 56 or various point there between.

FIG. 8 is a flowchart of operations 100 performed by a processor. Forexample, a computer program product comprising a non-volatile computerreadable medium may have non-transitory program instructions embodiedtherein, wherein the program instructions are configured to beexecutable by a processor to cause the processor to perform variousoperations. Operation 102 includes identifying the pixel resolution of adisplay screen. Operation 104 includes providing first data to thedisplay screen to cause display of a first digital image at an imageresolution adapted to the identified pixel resolution. Operation 106includes receiving a user-initiated instruction to zoom in on a sectionof the first digital image. Operation 108 includes providing, inresponse to receiving the user-initiated instruction to zoom in on thesection of the first digital image, second data to the display screen tocause display of the section of the first digital image over an area ofthe display screen that is greater than an area of the display screenthat displays the section of the digital image produced using the firstdata, wherein the second data causes display of the section of the firstdigital image at the image resolution adapted to the identified pixelresolution. Additional operations disclosed herein may also be includedin the operations of FIG. 8.

FIG. 9 is a flowchart of operations 110 performed by a processor. Forexample, a computer program product comprising a non-volatile computerreadable medium may have non-transitory program instructions embodiedtherein, wherein the program instructions are configured to beexecutable by a processor to cause the processor to perform variousoperations. Operation 112 includes identifying the pixel resolution of adisplay screen. Operation 114 includes providing first data to thedisplay screen to cause display of a first digital image at an imageresolution adapted to the identified pixel resolution. Operation 116includes receiving a user-initiated request to download the digitalimage being displayed on the display screen. Operation 118 includesinitiating, in response to receiving the user-initiated request todownload the digital image, transmission of second data for the digitalimage being displayed to a designated device and/or a designated folder,wherein the second data has an image resolution that is greater than thefirst data. Additional operations disclosed herein may also be includedin the operations of FIG. 9.

As will be appreciated by one skilled in the art, embodiments may takethe form of a system, method or computer program product. Accordingly,embodiments may take the form of an entirely hardware embodiment, anentirely software embodiment (including firmware, resident software,micro-code, etc.) or an embodiment combining software and hardwareaspects that may all generally be referred to herein as a “circuit,”“module” or “system.” Furthermore, embodiments may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable storage medium(s) maybe utilized. A computer readable storage medium may be, for example, butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, or device, or any suitablecombination of the foregoing. More specific examples (a non-exhaustivelist) of the computer readable storage medium would include thefollowing: a portable computer diskette, a hard disk, a random accessmemory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), a portable compact discread-only memory (CD-ROM), an optical storage device, a magnetic storagedevice, or any suitable combination of the foregoing. In the context ofthis document, a computer readable storage medium may be any tangiblemedium that can contain, or store a program for use by or in connectionwith an instruction execution system, apparatus, or device. Furthermore,any program instruction or code that is embodied on such computerreadable storage media (including forms referred to as volatile memory)that is not a transitory signal are, for the avoidance of doubt,considered “non-transitory”.

Program code embodied on a computer readable storage medium may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc., or any suitablecombination of the foregoing. Computer program code for carrying outvarious operations may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Embodiments may be described with reference to flowchart illustrationsand/or block diagrams of methods, apparatus (systems) and computerprogram products. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, and/or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored on computerreadable storage media is not a transitory signal, such that the programinstructions can direct a computer, other programmable data processingapparatus, or other devices to function in a particular manner, and suchthat the program instructions stored in the computer readable storagemedium produce an article of manufacture.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products. In this regard, eachblock in the flowchart or block diagrams may represent a module,segment, or portion of code, which comprises one or more executableinstructions for implementing the specified logical function(s). Itshould also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. It will also be noted that each block of the block diagramsand/or flowchart illustration, and combinations of blocks in the blockdiagrams and/or flowchart illustration, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and computerinstructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to limit the scope of the claims.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,components and/or groups, but do not preclude the presence or additionof one or more other features, integers, steps, operations, elements,components, and/or groups thereof. The terms “preferably,” “preferred,”“prefer,” “optionally,” “may,” and similar terms are used to indicatethat an item, condition or step being referred to is an optional (notrequired) feature of the embodiment.

The corresponding structures, materials, acts, and equivalents of allmeans or steps plus function elements in the claims below are intendedto include any structure, material, or act for performing the functionin combination with other claimed elements as specifically claimed.Embodiments have been presented for purposes of illustration anddescription, but it is not intended to be exhaustive or limited to theembodiments in the form disclosed. Many modifications and variationswill be apparent to those of ordinary skill in the art after readingthis disclosure. The disclosed embodiments were chosen and described asnon-limiting examples to enable others of ordinary skill in the art tounderstand these embodiments and other embodiments involvingmodifications suited to a particular implementation.

What is claimed is:
 1. A computer program product comprising anon-volatile computer readable medium and non-transitory programinstructions embodied therein, the program instructions being configuredto be executable by a processor to cause the processor to performoperations comprising: receiving a first digital image; identifying apixel resolution of a display screen, the pixel resolution of thedisplay screen being less than a pixel resolution of the first digitalimage; providing first data to the display screen to cause display ofthe first digital image at an image resolution adapted to the identifiedpixel resolution of the display screen, wherein a section of the firstdigital image displayed on the display screen at the image resolutionadapted to the identified pixel resolution of the display screencomprises a first area of the display screen; receiving a user-initiatedinstruction to zoom in on the section of the first digital image; andproviding, in response to receiving the user-initiated instruction tozoom in on the section of the first digital image, second data to thedisplay screen to cause display of the section of the first digitalimage over a second area of the display screen that is greater than thefirst area of the display screen.
 2. The computer program product ofclaim 1, wherein the user-initiated instruction to zoom in on a sectionof the first digital image includes an amount of magnification to beapplied to the first digital image, wherein applying the amount ofmagnification to the first digital image using the first data wouldresult in an image resolution that is less than the identified pixelresolution.
 3. The computer program product of claim 2, wherein thepixel resolution is 1080p, the first data has an image resolution of1080p, and the second data has an image resolution of 4k.
 4. Thecomputer program product of claim 1, wherein the first digital imageincludes the second data, the operations further comprising: downscalingthe second data to generate the first data for providing the first datato the display screen, wherein the second data has a greater imageresolution than the first data.
 5. The computer program product of claim4, the operations further comprising: storing the second data on a localdata storage device; retrieving, in response to receiving theuser-initiated instruction to zoom in on the section of the firstdigital image, the second data from the local data storage device togenerate the first data.
 6. The computer program product of claim 1,wherein the user-initiated instruction to zoom in on the section of thedigital image is received from a touch-matrix.
 7. The computer programproduct of claim 6, wherein the touch-matrix is a component of a remotecontrol that transmits a wireless signal communicating theuser-initiated instruction.
 8. The computer program product of claim 7,wherein the wireless signal is an infrared signal.
 9. The computerprogram product of claim 1, wherein the display screen is a touch-screenand the user-initiated instruction to zoom in on a section of thedigital image is received from the touch-screen.
 10. The computerprogram product of claim 1, wherein the user-initiated instruction tozoom in on a section of the digital image is received in a wirelesssignal from a mobile computing device.
 11. The computer program productof claim 1, the operations further comprising: receiving auser-initiated instruction to pan across the digital image beingdisplayed on the display screen, wherein the user-initiated instructionto pan across the digital image is received in response to a swipemovement on a touch-matrix.
 12. The computer program product of claim 1,wherein the user-initiated instruction to zoom in on the digital imageincludes an amount of magnification to be applied to the digital imagebased on a zoom gesture on a touch-matrix.
 13. The computer programproduct of claim 1, wherein the first digital image is one or more frameof a video.
 14. The computer program product of claim 13, the operationsfurther comprising: receiving a user-initiated instruction to pause orplay the video, wherein the user-initiated instruction to pause or playthe video is received in response to a tap on a touch-matrix.
 15. Thecomputer program product of claim 1, wherein the first digital image isa still image.
 16. An apparatus, comprising: at least one non-volatilestorage device storing program instructions; and at least one processorconfigured to process the program instructions, wherein the programinstructions are configured to, when processed by the at least oneprocessor, cause the apparatus to perform operations comprising:receiving a first digital image; identifying a pixel resolution of adisplay screen, the pixel resolution of the display screen being lessthan a pixel resolution of the first digital image; providing first datato the display screen to cause display of the first digital image at animage resolution adapted to the identified pixel resolution of thedisplay screen, wherein a section of the first digital image displayedon the display screen at the image resolution adapted to the identifiedpixel resolution of the display screen comprises a first area of thedisplay screen; receiving a user-initiated instruction to zoom in on thesection of the first digital image; and providing, in response toreceiving the user-initiated instruction to zoom in on the section ofthe first digital image, second data to the display screen to causedisplay of the section of the first digital image over a second area ofthe display screen that is greater than the first area of the displayscreen.
 17. A computer program product comprising a non-volatilecomputer readable medium and non-transitory program instructionsembodied therein, the program instructions being configured to beexecutable by a processor to cause the processor to perform operationscomprising: receiving a first digital image; identifying a pixelresolution of a display screen, the pixel resolution of the displayscreen being less than a pixel resolution of the first digital image;providing first data to the display screen to cause display of the firstdigital image at an image resolution adapted to the identified pixelresolution of the display screen, wherein a section of the first digitalimage displayed on the display screen at the image resolution adapted tothe identified pixel resolution of the display screen comprises a firstarea of the display screen; receiving a user-initiated instruction todownload the first digital image displayed on the display screen; andinitiating, in response to receiving the user-initiated instruction todownload the first digital image displayed on the display screen,transmission of second data for the first digital image to a designateddevice and/or a designated folder, wherein the second data has an imageresolution that is greater than the first data.
 18. The computer programproduct of claim 17, the operations further comprising: submittingaccount credentials to a content server; and obtaining access to thesecond data in response to submitting valid account credentials, whereinan address of the designated device and/or the designated folder isstored in association with the account credentials, and whereininitiating transmission of the second data for the first digital imagebeing displayed to a designated device and/or a designated folder,includes submitting a request to the content server that the second datafor the first digital image be sent from the content server to thedesignated device and/or a designated folder.